package com.zyl.Ecs.realtime.client;

import com.zyl.Ecs.common.domain.device.ext.SensorExt;
import com.zyl.Ecs.common.domain.device.vo.PositionVO;
import com.zyl.Ecs.common.domain.device.vo.SensorVO;
import com.zyl.Ecs.common.response.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.List;

/**
 * @version v1.0
 * @ProjectName: Ecs
 * @Package: com.zyl.Ecs.realtime.client
 * @ClassName: DeviceClient
 * @Description TODO
 * @Author 翟玉龙
 * @Date 2024/12/6-13:35
 */
@FeignClient(value = "ecs-device")
public interface DeviceClient {

    /**
     * 获取传感器列表
     *
     * @return {@link Result }<{@link List }<{@link SensorVO }>>
     */
    @GetMapping("/device/sensor")
    Result<List<SensorVO>> listSensors();

    /**
     * 获取详细传感器列表
     *
     * @return {@link Result }<{@link List }<{@link SensorExt }>>
     */
    @GetMapping("/device/sensor/ext")
    Result<List<SensorExt>> listSensorsMore();

    /**
     * 获取设备位置列表
     *
     * @return {@link Result }<{@link List }<{@link PositionVO }>>
     */
    @GetMapping("/device/position")
    Result<List<PositionVO>> listPositions();

}
